package com.nageoffer.jobtrain.admin.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.nageoffer.jobtrain.admin.dao.entity.AdminUserDO;
import com.nageoffer.jobtrain.admin.dto.req.AdminUserLoginReqDTO;
import com.nageoffer.jobtrain.admin.dto.req.AdminUserRegisterReqDTO;
import com.nageoffer.jobtrain.admin.dto.resp.AdminUserLoginRespDTO;
import com.nageoffer.jobtrain.common.web.result.Result;

/**
 * 管理员用户接口层
 * author：唐晨
 */
public interface AdminUserService extends IService<AdminUserDO> {
    /**
     * 管理员用户请求注册接口
     *
     * @param requestParam 请求注册入参
     */
    void registerAdminUser(AdminUserRegisterReqDTO requestParam);

    /**
     * 管理员用户请求登录接口
     *
     * @param requestParam 请求登录入参
     * @return 携带token响应实体
     */
    AdminUserLoginRespDTO loginAdminUser(AdminUserLoginReqDTO requestParam);

    /**
     * 管理员获取登录用户名称
     *
     * @return 管理员用户名
     */
    Result<String> getAdminUserName();

    /**
     * 管理员退出登录功能
     */
    Boolean logoutAdminUser();
}
